VADeaths
      Rural Male Rural Female Urban Male Urban Female
50-54       11.7          8.7       15.4          8.4
55-59       18.1         11.7       24.3         13.6
60-64       26.9         20.3       37.0         19.3
65-69       41.0         30.9       54.6         35.1
70-74       66.0         54.3       71.1         50.0

barplot(
  gd$`Rural Male`,
  horiz = T,
  col = "skyblue",
  border = "red",
  names.arg = c("50-54", "55-59", "60-64", "65-69", "70-74"),
  main = "Death Rate among Rural Male in Virginia",
  xlab = "Age Group",
  ylab = "Rate"
)

Stacked Bar diagram

legend("topright", legend = rownames(VADeaths))
Error in (function (s, units = "user", cex = NULL, font = NULL, vfont = NULL,  : 
  plot.new has not been called yet

Pie Chart

Pie Charts with Percentage

gd$piePercent <- round(100*gd$`Rural Male`/sum(gd$`Rural Male`))
pie(
  gd$`Rural Male`,
  labels = paste(gd$piePercent, "%"),
  main = "% Deaths by Age groups for Rural Male",
  col = rainbow(length(gd$`Rural Male`))
)
legend(
  "topright",
  c("50-54", "55-59", "60-64", "65-69", "70-74"),
  cex = 0.8,
  fill = rainbow(length(gd$`Rural Male`))
)

Air Passengers data

Histogram

gdcar <- as.data.frame(cars)
str(gdcar)
'data.frame':   50 obs. of  2 variables:
 $ speed: num  4 4 7 7 8 9 10 10 10 11 ...
 $ dist : num  2 10 4 22 16 10 18 26 34 17 ...
hist(gdcar$speed, col = "steelblue")


# add number of breaks
hist(gdcar$speed, col = "steelblue", breaks = 10)


dens <- density(cars$speed)
plot(dens, frame=FALSE, col="steelblue", main="Desnsity Plot of MPG")

Q-Q plot with Q-Q line

qqnorm(gdcar$speed)
qqline(gdcar$speed, col="red")

Scatterplot

  • Speed = x-axis = independent variable
plot(gdcar$speed, gdcar$dist)

Boxplot: Easiest way to detect outliers

boxplot(mpg ~ cyl, data = mtcars)


boxplot(
  mpg ~ cyl,
  data = mtcars,
  xlab = "Number of cylinders",
  ylab = "Miles per Gallon",
  main = "Mileage Data"
)


qqnorm(mtcars$mpg)

# Normal Q-Q line
qqline(mtcars$mpg, col="red")

str(mtcars)
'data.frame':   32 obs. of  11 variables:
 $ mpg : num  21 21 22.8 21.4 18.7 18.1 14.3 24.4 22.8 19.2 ...
 $ cyl : num  6 6 4 6 8 6 8 4 4 6 ...
 $ disp: num  160 160 108 258 360 ...
 $ hp  : num  110 110 93 110 175 105 245 62 95 123 ...
 $ drat: num  3.9 3.9 3.85 3.08 3.15 2.76 3.21 3.69 3.92 3.92 ...
 $ wt  : num  2.62 2.88 2.32 3.21 3.44 ...
 $ qsec: num  16.5 17 18.6 19.4 17 ...
 $ vs  : num  0 0 1 1 0 1 0 1 1 1 ...
 $ am  : num  1 1 1 0 0 0 0 0 0 0 ...
 $ gear: num  4 4 4 3 3 3 3 4 4 4 ...
 $ carb: num  4 4 1 1 2 1 4 2 2 4 ...
df <- as.data.frame(mtcars)
f.cyl <- as.factor(df$cyl)

bpd <- table(df$cyl)

barplot(bpd)

l
[1] 5

Histogram and abline for mean of “mpg”

hist(df$mpg, col="steelblue", main="Histogram of MPG", xlab="MPG Categories")
abline(v=mean(df$mpg), lwd=3, lty=2)

qqnorm(mtcars$mpg)
qqline(mtcars$mpg, col="red")

hist(df$mpg, col="steelblue", main="Histogram of MPG", xlab="MPG Categories")
abline(v=mode(df$mpg), lwd=3, lty=2)
Warning: NAs introduced by coercion

mode_value <- as.numeric(names(sort(table(df), decreasing = TRUE)[1]))
Error in table(df) : attempt to make a table with >= 2^31 elements

Correlation

  • linear - Pearson correlation cofficient
  • non-linear - Spearman Rank correlation cofficient
LS0tCnRpdGxlOiAiUiBOb3RlYm9vayIKb3V0cHV0OiBodG1sX25vdGVib29rCi0tLQoKYGBge3J9CmdkIDwtIGFzLmRhdGEuZnJhbWUoVkFEZWF0aHMpCgpzdHIoZ2QpCgpoZWFkKGdkKQpgYGAKCmBgYHtyfQpiYXJwbG90KGdkJGBSdXJhbCBNYWxlYCkKYGBgCgpgYGB7cn0KYmFycGxvdCgKICBnZCRgUnVyYWwgTWFsZWAsCiAgbmFtZXMuYXJnID0gYygiNTAtNTQiLCAiNTUtNTkiLCAiNjAtNjQiLCAiNjUtNjkiLCAiNzAtNzQiKSwKICBtYWluID0gIkRlYXRoIFJhdGUgYW1vbmcgUnVyYWwgTWFsZSBpbiBWaXJnaW5pYSIsCiAgeGxhYiA9ICJBZ2UgR3JvdXAiLAogIHlsYWIgPSAiUmF0ZSIKKQpgYGAKCmBgYHtyfQpiYXJwbG90KAogIGdkJGBSdXJhbCBNYWxlYCwKICBob3JpeiA9IFQsCiAgY29sID0gInNreWJsdWUiLAogIGJvcmRlciA9ICJyZWQiLAogIG5hbWVzLmFyZyA9IGMoIjUwLTU0IiwgIjU1LTU5IiwgIjYwLTY0IiwgIjY1LTY5IiwgIjcwLTc0IiksCiAgbWFpbiA9ICJEZWF0aCBSYXRlIGFtb25nIFJ1cmFsIE1hbGUgaW4gVmlyZ2luaWEiLAogIHhsYWIgPSAiQWdlIEdyb3VwIiwKICB5bGFiID0gIlJhdGUiCikKYGBgCgpgYGB7cn0KYmFycGxvdCgKICBnZCRgUnVyYWwgTWFsZWAsCiAgaG9yaXogPSBULAogIGNvbCA9ICJza3libHVlIiwKICBib3JkZXIgPSAicmVkIiwKICBuYW1lcy5hcmcgPSBjKCI1MC01NCIsICI1NS01OSIsICI2MC02NCIsICI2NS02OSIsICI3MC03NCIpLAogIG1haW4gPSAiRGVhdGggUmF0ZSBhbW9uZyBSdXJhbCBNYWxlIGluIFZpcmdpbmlhIiwKICB4bGFiID0gIkFnZSBHcm91cCIsCiAgeWxhYiA9ICJSYXRlIiwKICB4bGltID0gYygwLDcwKSwKICBjZXguYXhpcyA9IDAuODAKKQpgYGAKCiMgU3RhY2tlZCBCYXIgZGlhZ3JhbQoKYGBge3J9CiMgRXJycm9yCiMgYmFycGxvdCgKIyAgIGdkLAojICAgY29sPWMoImxpZ2h0Ymx1ZSIsICJtaXN0eXJvc2UiLCAibGlnaHRjeWFuIiwgImxhdmVuZGVyIiwgImNvcm5zaWxrIiksCiMgICBsZWdlbmQgPSByb3duYW1lcyhWQURlYXRocykKIyApCgpnZG0gPC0gYXMubWF0cml4KGdkKQoKY29sb3JzIDwtIGMoImxpZ2h0Ymx1ZSIsICJtaXN0eXJvc2UiLCAibGlnaHRjeWFuIiwgImxhdmVuZGVyIiwgImNvcm5zaWxrIikKCmJhcnBsb3QoZ2RtLCBjb2wgPSBjb2xvcnMpCgpiYXJwbG90KAogIGdkbSwKICBjb2w9Y29sb3JzLAogIGxlZ2VuZCA9IHJvd25hbWVzKFZBRGVhdGhzKQopCmBgYAoKYGBge3J9CmJhcnBsb3QoCiAgZ2RtLAogIGNvbD1jb2xvcnMsCiAgbGVnZW5kID0gcm93bmFtZXMoVkFEZWF0aHMpLAogIGJlc2lkZSA9IFQKKQpsZWdlbmQoInRvcHJpZ2h0IiwgbGVnZW5kID0gcm93bmFtZXMoVkFEZWF0aHMpKQpgYGAKCiMjIFBpZSBDaGFydAoKYGBge3J9CmdkIDwtIGFzLmRhdGEuZnJhbWUoVkFEZWF0aHMpCgpwaWUoCiAgZ2QkYFVyYmFuIE1hbGVgLAogIGxhYmVscyA9IHJvd25hbWVzKGdkKSwKICByYWRpdXMgPSAxLAogIAopCmBgYAoKIyMjIFBpZSBDaGFydHMgd2l0aCBQZXJjZW50YWdlCmBgYHtyfQpnZCRwaWVQZXJjZW50IDwtIHJvdW5kKDEwMCpnZCRgUnVyYWwgTWFsZWAvc3VtKGdkJGBSdXJhbCBNYWxlYCkpCnBpZSgKICBnZCRgUnVyYWwgTWFsZWAsCiAgbGFiZWxzID0gcGFzdGUoZ2QkcGllUGVyY2VudCwgIiUiKSwKICBtYWluID0gIiUgRGVhdGhzIGJ5IEFnZSBncm91cHMgZm9yIFJ1cmFsIE1hbGUiLAogIGNvbCA9IHJhaW5ib3cobGVuZ3RoKGdkJGBSdXJhbCBNYWxlYCkpCikKbGVnZW5kKAogICJ0b3ByaWdodCIsCiAgYygiNTAtNTQiLCAiNTUtNTkiLCAiNjAtNjQiLCAiNjUtNjkiLCAiNzAtNzQiKSwKICBjZXggPSAwLjgsCiAgZmlsbCA9IHJhaW5ib3cobGVuZ3RoKGdkJGBSdXJhbCBNYWxlYCkpCikKYGBgCgojIyMgQWlyIFBhc3NlbmdlcnMgZGF0YQpgYGB7cn0KQWlyUGFzc2VuZ2VycwpwbG90KEFpclBhc3NlbmdlcnMpCmBgYAoKIyMjIEhpc3RvZ3JhbQoKYGBge3J9CmdkY2FyIDwtIGFzLmRhdGEuZnJhbWUoY2FycykKc3RyKGdkY2FyKQpoaXN0KGdkY2FyJHNwZWVkLCBjb2wgPSAic3RlZWxibHVlIikKCiMgYWRkIG51bWJlciBvZiBicmVha3MKaGlzdChnZGNhciRzcGVlZCwgY29sID0gInN0ZWVsYmx1ZSIsIGJyZWFrcyA9IDEwKQoKZGVucyA8LSBkZW5zaXR5KGNhcnMkc3BlZWQpCnBsb3QoZGVucywgZnJhbWU9RkFMU0UsIGNvbD0ic3RlZWxibHVlIiwgbWFpbj0iRGVzbnNpdHkgUGxvdCBvZiBNUEciKQpgYGAKIyMgUS1RIHBsb3Qgd2l0aCBRLVEgbGluZQoKYGBge3J9CiMgTm9ybWFsIFEtUSBwbG90CnFxbm9ybShnZGNhciRzcGVlZCkKCiMgTm9ybWFsIFEtUSBsaW5lCnFxbGluZShnZGNhciRzcGVlZCwgY29sPSJyZWQiKQpgYGAKCiMjIyBTY2F0dGVycGxvdAotIFNwZWVkID0geC1heGlzID0gaW5kZXBlbmRlbnQgdmFyaWFibGUKCmBgYHtyfQpwbG90KGdkY2FyJHNwZWVkLCBnZGNhciRkaXN0KQpgYGAKCiMjIyBCb3hwbG90OiBFYXNpZXN0IHdheSB0byBkZXRlY3Qgb3V0bGllcnMKCmBgYHtyfQpib3hwbG90KG1wZyB+IGN5bCwgZGF0YSA9IG10Y2FycykKCmJveHBsb3QoCiAgbXBnIH4gY3lsLAogIGRhdGEgPSBtdGNhcnMsCiAgeGxhYiA9ICJOdW1iZXIgb2YgY3lsaW5kZXJzIiwKICB5bGFiID0gIk1pbGVzIHBlciBHYWxsb24iLAogIG1haW4gPSAiTWlsZWFnZSBEYXRhIgopCgpxcW5vcm0obXRjYXJzJG1wZykKcXFsaW5lKG10Y2FycyRtcGcsIGNvbD0icmVkIikKYGBgCmBgYHtyfQpzdHIobXRjYXJzKQoKaGlzdChtdGNhcnMkbXBnKQpgYGAKCmBgYHtyfQpkZiA8LSBhcy5kYXRhLmZyYW1lKG10Y2FycykKZi5jeWwgPC0gYXMuZmFjdG9yKGRmJGN5bCkKCmJwZCA8LSB0YWJsZShkZiRjeWwpCgpiYXJwbG90KGJwZCkKYGBgCgpgYGB7cn0Kc3VtbWFyeShtdGNhcnMkbXBnKQpyYW5nZSA9IHJhbmdlKCkKClIgPSBtYXgobXRjYXJzJG1wZykgLSBtaW4obXRjYXJzJG1wZykKbCA9IHJvdW5kKHNxcnQoUikpCmJyZWFrcyA9IHNlcSgxMCwgMzUsIGJ5PWwpCmJyZWFrcwoKbXBnLmJpbiA8LSBjdXQoZGYkbXBnLCBicmVha3MsIGxhYmVscz1jKCIxMC0xNSIsICIxNS0yMCIsICIyMC0yNSIsICIyNS0zMCIsICIzMC0zNSIpKQptcGcuYmluCgp0YWJsZShtcGcuYmluKQoKYmFycGxvdCh0YWJsZShtcGcuYmluKSkKYGBgCgojIyBIaXN0b2dyYW0gYW5kIGFibGluZSBmb3IgbWVhbiBvZiAibXBnIgoKYGBge3J9Cmhpc3QoZGYkbXBnLCBjb2w9InN0ZWVsYmx1ZSIsIG1haW49Ikhpc3RvZ3JhbSBvZiBNUEciLCB4bGFiPSJNUEcgQ2F0ZWdvcmllcyIpCmFibGluZSh2PW1lYW4oZGYkbXBnKSwgbHdkPTMsIGx0eT0yKQojIHYgPSB2ZXJ0aWNhbCAiYWxiaW5lIgojIGggPSBob3Jpem9udGFsICJhbGJpbmUiCiMgbHdkID0gbGluZSB3aWR0aCAoMz0zIHRpbWVzIHdpZGUpCiMgbHR5ID0gbGluZSB0eXBlcyAoMj0yIGRhc2hlZCBsaW5lKSwgMT1zb2xpZCwgMj1kYXNoZWQsIDM9ZG90dGVkIGxpbmUsIDQ9ZG90IGFuIGRhc2hlZCwgNSA9IGxvbmcgZGFzaCwgNj10d28gZGFzaGVkCmBgYAoKYGBge3J9CnFxbm9ybShtdGNhcnMkbXBnKQpxcWxpbmUobXRjYXJzJG1wZywgY29sPSJyZWQiKQpgYGAKCmBgYHtyfQpoaXN0KGRmJG1wZywgY29sPSJzdGVlbGJsdWUiLCBtYWluPSJIaXN0b2dyYW0gb2YgTVBHIiwgeGxhYj0iTVBHIENhdGVnb3JpZXMiKQphYmxpbmUodj1tb2RlKGRmJG1wZyksIGx3ZD0zLCBsdHk9MikKYGBgCmBgYHtyfQpoaXN0KGRmJG1wZywgY29sPSJzdGVlbGJsdWUiLCBtYWluPSJIaXN0b2dyYW0gb2YgTVBHIiwgeGxhYj0iTVBHIENhdGVnb3JpZXMiKQptYXhfdmFsdWUgPSAKIyBBZGQgYSB2ZXJ0aWNhbCBsaW5lIHRvIHNob3cgdGhlIG1vZGUKYWJsaW5lKHYgPSBtb2RlX3ZhbHVlLCAKICAgICAgIGNvbCA9ICJyZWQiLCAKICAgICAgIGx3ZCA9IDIsIAogICAgICAgbHR5ID0gMikKCiMgQWRkIGxlZ2VuZApsZWdlbmQoInRvcHJpZ2h0IiwgbGVnZW5kID0gcGFzdGUoIk1vZGU6IiwgbW9kZV92YWx1ZSksIAogICAgICAgY29sID0gInJlZCIsIGx0eSA9IDIsIGx3ZCA9IDIpCmBgYAoKIyMgQ29ycmVsYXRpb24gCi0gbGluZWFyIC0gUGVhcnNvbiBjb3JyZWxhdGlvbiBjb2ZmaWNpZW50Ci0gbm9uLWxpbmVhciAtIFNwZWFybWFuIFJhbmsgY29ycmVsYXRpb24gY29mZmljaWVudAoKCgoKCgoKCgoKCgoKCgoKCgoKCgo=